91在线免费视频观看-2021最新偷拍, 亚洲人成无码久久电影网站-婷婷导航, 西安广告衫定做-西安古都鑫源服装厂, 55444442020无码专区人妻,综合依人一区二区三区,美乳丰满人妻被强视频,天天先锋影视,2021最新偷拍,中国熟妇无码专区

頂部圖片
022-23715128

聯(lián)系方式

CONTACT
  • 公眾號
    新浪微博
  • 中國 ● 天津

    聯(lián)系地址:天津市西青區(qū)華鼎高科技發(fā)展中心

  • 公司座機(jī):022-23715128

    24小時熱線:15522534786

    聯(lián)系QQ:2085429559

    公司郵箱:gvt@techlego.com

當(dāng)前位置: 首頁 > 新聞資訊 > 行業(yè)新聞 >
新聞資訊NEWS

日期:2025-06-20 17:10 瀏覽次數(shù): 作者:來高科技
基于Techlego SDK智能接口的2D圓擬合算法分析及其應(yīng)用 分享到:
 

引言

在計算機(jī)視覺、機(jī)器人導(dǎo)航、圖像處理以及幾何建模等眾多應(yīng)用場景中,準(zhǔn)確地從二維點(diǎn)數(shù)據(jù)中擬合出幾何形狀是一項(xiàng)基礎(chǔ)且關(guān)鍵的任務(wù)。作為常見的幾何結(jié)構(gòu)之一,圓形的擬合對于實(shí)際工程具有廣泛的應(yīng)用價值,例如,在檢測圓形目標(biāo)(如車輪、孔洞、標(biāo)記)時,通過擬合得到圓心位置和半徑信息,可以為后續(xù)的圖像分析或控制決策提供重要參數(shù)。本文將介紹如何使用Techlego SDK智能接口實(shí)現(xiàn)一種擬合2D圓的方法以及針對一組給定的離散二維點(diǎn)數(shù)據(jù)來恢復(fù)理想圓參數(shù)的方法。

體步驟

01

準(zhǔn)備好擬合2D圓用的數(shù)據(jù)點(diǎn),下圖紅色點(diǎn)即為所用數(shù)據(jù)點(diǎn)。

讀取數(shù)據(jù)代碼:

所用離散二維點(diǎn)數(shù)據(jù)(由于可視化需要輸入三維點(diǎn)數(shù)據(jù)以及其法向量,實(shí)際只用到了每行的前兩個數(shù)據(jù)):

數(shù)據(jù)點(diǎn)可視化顯示:

02

進(jìn)行2D圓粗?jǐn)M合,其中代碼中的變量x,y代表了圓的中心點(diǎn),r代表了圓的半徑。

03

根據(jù)粗?jǐn)M合的結(jié)果再進(jìn)行2D圓擬合,并打印擬合圓結(jié)果。

結(jié)

01

程序輸出結(jié)果

02

擬合圓可視化結(jié)果

總結(jié)

 

通過對二維圓形擬合問題的研究,可以看出即使是這樣一個基礎(chǔ)、經(jīng)典的幾何建模任務(wù),在面對噪聲、異常值和不均勻分布的點(diǎn)集時也面臨著挑戰(zhàn)。本文展示了利用Techlego SDK智能接口完成二維圓擬合的具體步驟,從實(shí)驗(yàn)結(jié)果來看,擬合出的圓能夠很好地穿過大多數(shù)輸入點(diǎn),這證明了Techlego SDK智能接口在圓形擬合方面的可靠性和實(shí)用性。未來的工作可以進(jìn)一步改進(jìn)算法以更好地應(yīng)對更復(fù)雜的數(shù)據(jù)情況,從而拓展其應(yīng)用場景至更多相關(guān)領(lǐng)域。

 

源代碼

#include "pch.h"

std::vector<techlego::pos2d> read_asc_file(const std::wstring& path)

{

std::ifstream ifs(path);

std::string line;

std::vector<techlego::pos2d>res;

while (std::getline(ifs, line))

{

if (line.empty())

{

continue;

}

float d0{};

float d1{};

float d2{};

float d3{};

float d4{};

float d5{};

sscanf_s(line.data(), "%f %f %f %f %f %f", &d0, &d1, &d2, &d3, &d4, &d5);

res.emplace_back(techlego::pos2d{ d0, d1 });

}

return res;

}

int main()

{

//測試數(shù)據(jù)路徑

std::wstring data_path = L"D:\\soft_product1\\techlego_sdk\\C++\\examples\\擬合2d圓\\data.asc";

//讀取測試數(shù)據(jù)

std::vector<techlego::pos2d> points = read_asc_file(data_path);

double x{}, y{}, r{};

//進(jìn)行2D圓粗?jǐn)M合

auto error = techlego::fit_circle_fast(points, x, y, r);

std::cout << "error:" << error << "\n";

std::cout << "x:" << x << "\n";

std::cout << "y:" << y << "\n";

std::cout << "r:" << r << "\n\n";

//根據(jù)粗?jǐn)M合的結(jié)果再進(jìn)行2D圓擬合

error = techlego::fit_cricle_fine(points, x, y, r);

std::cout << "error:" << error << "\n";

std::cout << "x:" << x << "\n";

std::cout << "y:" << y << "\n";

std::cout << "r:" << r << "\n";

return 0;

}




 
 

官網(wǎng)視頻號·更多視頻案例·關(guān)注我們

 





往期回顧

 

多機(jī)聯(lián)動掃描系統(tǒng)助力嫦娥五號構(gòu)建月表地形

 

噴漆自動化三維視覺全流程

 

混凝土立方試塊尺寸三維檢測全流程?

↙點(diǎn)擊“閱讀原文”查看更多精彩內(nèi)容

 


  • 上一篇:精準(zhǔn)姿態(tài)控制:旋轉(zhuǎn)數(shù)學(xué)表示的轉(zhuǎn)換技巧
  • 下一篇:提高三維空間分析效率:點(diǎn)到直線距離計算的新視角
  • 相關(guān)推薦 NEWS More>